home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / msdos / raytrace / pov / gen / bstone / sample / spirals.bas < prev    next >
Encoding:
BASIC Source File  |  1994-03-02  |  1.4 KB  |  47 lines

  1. 10     REM        *** Spirals ***
  2. 20     REM       
  3. 40     DELETE "spirals.inc"
  4. 60     DELETE PL$
  5. 70     LET PL$="sphere {<0,0,0>,1}"
  6. 80     LET TMP$="MyTexture"
  7. 90     TEX PL$=TMP$
  8. 100    FPRINT "// Spirals, Thiessenhusen '94"
  9. 105    FPRINT "// Idea from a M.C. Escher picture"
  10. 110    REM       
  11. 120    REM      The Spirals:
  12. 130    REM        planet is moving around <0,0,0>
  13. 140    REM        planet is rotating
  14. 150    REM        moons are copied from the planet
  15. 160    LET SC0=0.2
  16. 170    LET SC^=<0.05,0.05,0.05>
  17. 180    LET PL$=TRANSLATE(PL$,VX)
  18. 190    LET SH_V^=0.3*VX
  19. 200    LET M1$=TRANSLATE#(PL$,-SH_V^)
  20. 210    LET M1$=SCALE#(M1$,SC^)
  21. 220    LET M2$=TRANSLATE#(PL$,SH_V^)
  22. 230    LET M2$=SCALE#(M2$,SC^)
  23. 240    FOR I=1 TO 100
  24. 242    LET UNI1$=M1$
  25. 244    LET UNI2$=M2$
  26. 248    FOR J=1 TO 10
  27. 250    LET SC=1-(1-SC0)*(10*(I-1)+J)/1000
  28. 260    LET M1_OLD$=M1$
  29. 270    LET M2_OLD$=M2$
  30. 280    LET PL$=ROTATE(PL$,<0,@0.5,0>)
  31. 290    LET PL$=ROTATE#(PL$,<0,0,@5>)
  32. 300    LET M1$=TRANSLATE#(PL$,-SC*SH_V^)
  33. 310    LET M1$=SCALE#(M1$,SC*SC^)
  34. 320    LET M2$=TRANSLATE#(PL$, SC*SH_V^)
  35. 330    LET M2$=SCALE#(M2$,SC*SC^)
  36. 340    LET A$=CTDS(M1$,M1_OLD$)
  37. 350    LET UNI1$=ADDOBJ(UNI1$,M1$,A$)
  38. 360    LET A$=CTDS(M2$,M2_OLD$)
  39. 370    LET UNI2$=ADDOBJ(UNI2$,M2$,A$)
  40.  
  41. 380    NEXT J
  42. 382    PRINT "Steps:",I*J
  43. 384    LET UNI$=UNION(UNI1$,UNI2$)
  44. 388    BOUND UNI$
  45. 390    FPRINT UNI$
  46. 400    NEXT I
  47.